//
//  main.c
//  DiscreteMathematics
//
//  Created by Xavier on 2023/9/13.
//

#include <stdio.h>

/*合取连接符函数 */
// ^ <==> &&
int conjunction(int p, int q){

    return p && q;
}

/* 析取连接符函数 */
// v <==> ||
int disjunction(int p, int q){

    return p || q;
}

/*蕴含连接符函数*/
// ->  <==> if
int implication(int p, int q){
    
    return (!p) && q;
    
    
//    if (p == 1 && q == 0) {
//        return 0;
//    }
//    return 1;
}

//int main() {
//    // 0 - 假命题
//    // 1 - 真命题
//    int p , q;
//    printf("请注意0 - 假命题， 1 - 真命题\n");
//    while (1) {
//        printf("请输入p是什么命题:");
//        scanf("%d",&p);
//        printf("请输入q是什么命题:");
//        scanf("%d",&q);
//
//        if ((q >=0 && q <= 1) && (p >= 0 && p <= 1)) {
//            break;;
//        }
//        printf("p, q真值不规范 请重新输入！\n");
//    }
//
//    printf("合取的真值为：%d\n", conjunction(p, q));
//    printf("析取的真值为：%d\n", disjunction(p, q));
//    printf("蕴含的真值为：%d\n", implication(p, q));
//
//    return 0;
//}
